# 2025.03.18力扣网刷题
# 统计特殊字母的数量 I——字符串、哈希表——简单
# 给你一个字符串 word。如果 word 中同时存在某个字母的小写形式和大写形式，则称这个字母为 特殊字母 。
# 返回 word 中 特殊字母 的数量。
# 示例 1:
# 输入：word = "aaAbcBC"
# 输出：3
# 解释：
# word 中的特殊字母是 'a'、'b' 和 'c'。
# 示例 2:
# 输入：word = "abc"
# 输出：0
# 解释：
# word 中不存在大小写形式同时出现的字母。
# 示例 3:
# 输入：word = "abBCab"
# 输出：1
# 解释：
# word 中唯一的特殊字母是 'b'。
# 提示：
# 1 <= word.length <= 50
# word 仅由小写和大写英文字母组成。

class Solution(object):
    def numberOfSpecialChars(self, word):
        """
        :type word: str
        :rtype: int
        """
        hash = [0] * 52
        length = len(word)
        for i in range(length):
            key = ord(word[i]) - ord('a')
            if key < 0:
                key = ord(word[i]) - ord('A') + 26
            hash[key] += 1
        ans = 0
        for i in range(26):
            if hash[i] and hash[i + 26]:
                ans += 1
        return ans